package models

import (
	"time"
	"tuowei.com/common/models"
)

type SysConsultLBT struct {
	ConsultLBTId   int    `json:"consult_lbt_id" gorm:"primaryKey;autoIncrement;comment:轮播图ID"` // 轮播图ID
	ConsultLBTName string `json:"consult_lbt_name" comment:"轮播图名称"`                             // 轮播图名称
	LBTUrl         string `json:"lbt_name_url" comment:"轮播图连接"`                                 // 轮播图连接
	LBTSkipUrl     string `json:"lbt_skip_url" comment:"轮播图跳转"`                                 // 轮播图跳转
	LBTSkipUrlType int    `json:"lbt_skip_url_type" comment:"轮播图跳转 1内部/2外部"`                    // 轮播图跳转内部/外部
	Province       string `json:"province" comment:"适用地区"`
}

type SysConsultWZ struct {
	ConsultWZId           int       `json:"consult_wz_id" gorm:"primaryKey;autoIncrement;comment:"文章ID"` // 文章ID
	ConsultWZTitle        string    `json:"consult_wz_title" comment:"文章标题"`                             // 文章标题
	WZUrl                 string    `json:"wz_url" comment:"文章封面url"`                                    // 文章封面url
	ConsultWZIntroduction string    `json:"consult_wz_introduction" comment:"文章说明"`                      // 文章说明
	ConsultWZContent      string    `json:"consult_wz_content" comment:"文章内容"`                           // 文章内容
	WZReadingNum          int       `json:"wz_reading_num" comment:"文章阅读量"`                              // 文章阅读量
	WZTop                 string    `json:"wz_top" gorm:"type:varchar(10);default:2;comment:配置目录启用状态，1置顶，2不设置置顶"`
	WZHot                 string    `json:"wz_hot" gorm:"type:varchar(10);default:2;comment:配置目录启用状态，1热门，2不设置热门"`
	CreatedAt             time.Time `json:"createdAt" gorm:"comment:创建时间"`
	//common.ControlBy
	//models.ModelTime
}

func (SysConsultWZ) TableName() string {
	return "sys_consult_wz"
}

type SysAcademy struct {
	AcademyId           int    `json:"academy_id" gorm:"primaryKey;autoIncrement;comment:"文章ID"` // 文章ID
	AcademyTitle        string `json:"academy_title" comment:"院校推荐文章标题"`                         // 文章标题
	WZUrl               string `json:"wz_url" comment:"院校推荐文章封面url"`                             // 文章封面url
	AcademyIntroduction string `json:"academy_introduction" comment:"院校推荐说明"`                    // 院校推荐说明
	AcademyContent      string `json:"academy_content" comment:"院校推荐文章内容"`                       // 文章内容
	WZReadingNum        int    `json:"wz_reading_num" comment:"文章阅读量"`                           // 文章阅读量
	AcademyTop          string `json:"academy_top" comment:"置顶院校"`                               // 置顶院校
	AcademyHot          string `json:"academy_hot" comment:"热门院校"`                               // 热门院校
	Province            string `json:"province" comment:"适用地区"`
	models.ModelTime
}

func (SysAcademy) TableName() string {
	return "sys_academy"
}

//func (e *SysConsultWZ) Generate() common.ActiveRecord {
//	o := *e
//	return &o
//}

func (e *SysConsultWZ) GetId() interface{} {
	return e.ConsultWZId
}

type SysCourseByBoutique struct {
	CourseId           int     `json:"course_id" gorm:"primaryKey;autoIncrement;comment:主键编码"` // 课程ID
	SerialNum          string  `json:"serial_num" comment:"课程编号" gorm:"<-:create"`             // 课程编号
	Subject            string  `json:"subject" comment:"科目"`                                   // 科目
	Province           string  `json:"province" comment:"适用地区"`                                //适用地区
	Name               string  `json:"name" comment:"课程名称"`                                    // 课程名称
	Cover              string  `json:"cover" comment:"封面"`                                     // 封面
	Price              float64 `json:"price" comment:"价格"`                                     // 价格
	Sales              int     `json:"sales" comment:"销量"`                                     // 销量
	Outline            string  `json:"outline" comment:"大纲" vd:"@:len($)>0; msg:'请上传课程大纲'"`    //大纲
	Introduction       string  `json:"introduction" comment:"课程简介"`                            //课程简介
	AuditionLink       string  `json:"audition_link" gorm:"type:varchar(255);comment:试听链接地址"`  //试听链接地址
	AuditionCourseName string  `json:"audition_course_name" comment:"试听课程名称"`
	LecturerId         int     `json:"lecturer_id" comment:"讲师ID"`
	IsBoutique         int     `json:"is_boutique" gorm:"<-:false"`
	IsBindOffline      int     `json:"is_bind_offline" gorm:"tinyint(1);default:0;comment:是否关联面授课程"`
	TermOfValidity     int     `json:"term_of_validity" gorm:"smallint(2);comment:网课有效期"`
	//Lecturer         string     `json:"lecturer" comment:"讲师"`
	//LecturerIntr     string  `json:"lecturer_intr" comment:"讲师简介"`     //讲师简介
	OnlineClassId  int              `json:"online_class_id" comment:"网课班级ID"` //网课班级ID
	OnlineClass    string           `json:"online_class" comment:"网课班级"`      //网课班级
	Contacts       string           `json:"contacts" comment:"班主任联系"`         //班主任联系
	Status         int              `json:"status" comment:"状态"`
	CourseWareJson []CourseWareTree `json:"course_ware_json" gorm:"-"`
	Telephone      string           `json:"telephone" comment:"联系电话"`
	PublicRange    string           `json:"public_range" gorm:"type:varchar(11); comment:公开范围"`
	CourseType     string           `json:"course_type" gorm:"type:varchar(50);comment:课程类型，online，live"` //课程类型
	StartTime      time.Time        `json:"start_time" gorm:"datetime;comment:直播开始时间"`
	EndTime        time.Time        `json:"end_time" gorm:"datetime;comment:直播结束时间"`
	models.ModelTime
}

func (SysCourseByBoutique) TableName() string {
	return "sys_course"
}
